/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *如果数据库字段发生变化，请在代码生器重新生成此Model
 */
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MYData.Entity.SystemModels;

namespace MYData.Entity.DomainModels
{
    [Entity(TableCnName = "经费报销基础信息表", TableName = "tb_project_expensebaseinfo")]
    public partial class tb_project_expensebaseinfo : BaseEntity
    {
        /// <summary>
        ///经费报销ID主键
        /// </summary>
        [Key]
        [Display(Name = "经费报销ID主键")]
        [MaxLength(64)]
        [Column(TypeName = "nvarchar(64)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string id { get; set; } = new Snowflake.Core.IdWorker(1, 1).NextId().ToString();

        /// <summary>
        ///项目基本信息(外键）
        /// </summary>
        [Display(Name = "项目基本信息(外键）")]
        [MaxLength(64)]
        [Column(TypeName = "nvarchar(64)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string projecId { get; set; }

        /// <summary>
        ///报销科目ID(外键)
        /// </summary>
        [Display(Name = "报销科目ID(外键)")]
        [MaxLength(64)]
        [Column(TypeName = "nvarchar(64)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string subjectId { get; set; }

        /// <summary>
        ///专项经费(万元)
        /// </summary>
        [Display(Name = "专项经费(万元)")]
        [DisplayFormat(DataFormatString = "10,2")]
        [Column(TypeName = "decimal")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public decimal SpecialMoney { get; set; }

        /// <summary>
        ///配套经费(万元)
        /// </summary>
        [Display(Name = "配套经费(万元)")]
        [DisplayFormat(DataFormatString = "10,2")]
        [Column(TypeName = "decimal")]
        [Editable(true)]
        public decimal? SupportMoney { get; set; }

        /// <summary>
        ///科目报销信息
        /// </summary>
        [Display(Name = "科目报销信息")]
        [Column(TypeName = "nvarchar(max)")]
        [Editable(true)]
        public string subjectCostingInfo { get; set; }

        /// <summary>
        ///科目报销页面数据
        /// </summary>
        [Display(Name = "科目报销页面数据")]
        [Column(TypeName = "nvarchar(max)")]
        [Editable(true)]
        public string applyPageData { get; set; }

        /// <summary>
        ///创建时间
        /// </summary>
        [Display(Name = "创建时间")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public DateTime createTime { get; set; }

        /// <summary>
        ///创建人
        /// </summary>
        [Display(Name = "创建人")]
        [MaxLength(255)]
        [Column(TypeName = "nvarchar(255)")]
        [Editable(true)]
        public string crertor { get; set; }

        /// <summary>
        ///修改人
        /// </summary>
        [Display(Name = "修改人")]
        [MaxLength(255)]
        [Column(TypeName = "nvarchar(255)")]
        [Editable(true)]
        public string modifer { get; set; }

        /// <summary>
        ///修改时间
        /// </summary>
        [Display(Name = "修改时间")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        public DateTime? modiferTime { get; set; }

        /// <summary>
        ///备注
        /// </summary>
        [Display(Name = "备注")]
        [MaxLength(500)]
        [Column(TypeName = "nvarchar(500)")]
        [Editable(true)]
        public string remark { get; set; }

        /// <summary>
        ///是否删除（0未删除1已删除）
        /// </summary>
        [Display(Name = "是否删除（0未删除1已删除）")]
        [Column(TypeName = "int")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public int isDelete { get; set; }
    }
}